Запись блока Number Array: начиненный перемещаемой машинной программой

New File [Запись Number Array.tzx]		; Создать новую виртуальную кассету для записи данных
Cassette Recorder [Record]			; Включить виртуальный магнитофон на запись, открыв телепортационное окно 1232 поставив команду LD H, H
Debugger					; Открыть отладчик для ввода данных
Dec						; Переключить отображение чисел в десятичный режим
Go To 23297 					; Переместиться по памяти на нужный адрес

23297 <-- 1 11 0					; DIM a(11) разметка массива
23300 <-- 118 59 59 209 253 203 2 134 33 18 0 25	; Подготовка вывода текста из любого адреса
23312 <-- 235 1 36 0 195 60 32 22 11 1 19 1 16 2	; Атрибуты выводимого текста
23326 <--Ha npocnekme Hayku Ecmb Mempo			; Выводимый текст

17996 <-- 23297 0				; Стартовый адрес для блока данных и сброс после записи
18000 <-- 1					; Тип блока Number Array:
18001 <-- npocnHayku				; Имя заголовка
18011 <-- 58 0 0 129				; Планируемая длина с DIM-разметкой и код буквы числового массива A +128
       
IX <-- 18000					; Указать место размещения шаблона заголовка
SP <-- 17996					; Создать временную SP-башенку в любом свободном месте
PC <-- 2436					; Установить Стрелочку на запускаемую подпрограмму
Trace						; Выйти из отладчика и запустить программу
Cassette Recorder [Stop]			; Остановить магнитофон и закрыть телепортационное окно в адресе 1232 вернув команду EX AF, AF'

BASIC <-- LOAD ""DATA a() ENTER			; Выполнить BASIC фрагмент натуральным способом
Cassette Recorder [Play]			; Включить магнитофон на воспроизведение

Примечание:
Запуск массива в виде чисел:
PRINT a(1)

Запуск программы из массива:
RANDOMIZE USR (PEEK 23627+PEEK 23628*256)


Assembler EmuzWin:

ORG 23297

HALT			; определить и записать в SP-столбик адрес размещения следующей команды
DEC SP			; подняться на 2 этажа по отработанным значениям столбика
DEC SP
POP DE  		; забрать результат текущего размещения программы +2
RES 0, (IY+2)		; переключить вывод текста на основной экран
LD HL, 18		; задать смещение на место с выводимым текстом
ADD HL, DE		; добавить к текущему адресу программы
EX DE, HL
LD BC, 36		; количество символов текста с атрибутами для вывода
JP 8252			; вывести текст и вернуться в BASIC
DEFB 22, 11, 1, 19, 1, 16, 2,'Ha npocnekme Hayku Ecmb Mempo'
